package com.itheima.leetcode;

/**
 * 最长公共前缀
 */
public class LCPLeetcode14 {

    public String longestCommonPrefix(String[] strs) {
        /*
            情况1：比较某一列时，遇到不同字符，i 之前的字符就是解
            情况2：比较某一列时，遇到字符长度不够，i 之前的字符就是解
            情况3：i 循环自然结束，此时第一个字符串就是解
         */
        char[] first = strs[0].toCharArray(); // 第一个字符串
        for (int i = 0; i < first.length; i++) {
            char ch = first[i];
            for (int j = 1; j < strs.length; j++) {
                /*if (strs[j].length() == i) { // 情况 2
                    return new String(first, 0, i);
                }
                if (ch != strs[j].charAt(i)) { // 情况 1
                    return new String(first, 0, i);
                }*/
                if (strs[j].length() == i || ch != strs[j].charAt(i)) {
                    return new String(first, 0, i);
                }
            }
        }
        return strs[0];
    }

    public static void main(String[] args) {
        LCPLeetcode14 leetcode14 = new LCPLeetcode14();
        System.out.println(leetcode14.longestCommonPrefix(new String[]{"flower", "flow", "flight"}));
    }
}
